// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Пинко Казино – играть в онлайн Pinco Casino – официальный сайт – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Пинко Казино – играть в онлайн Pinco Casino – официальный сайт

В наше время интернета и технологий, казино стали доступны для игроков из всего мира. Пинко Казино – это официальный онлайн-казино, которое предлагает игрокам широкий спектр игр и развлечений. В этом тексте мы рассмотрим основные преимущества и функции Пинко Казино, чтобы помочь вам начать играть в этом казино.

Пинко Казино – это казино, которое было основано с целью обеспечить игрокам безопасное и развлекательное игровое опыта. Казино имеет официальный лиценз, выданный регулятором игорного бизнеса, что обеспечивает безопасность и честность игр.

Официальный сайт Пинко Казино предлагает игрокам широкий спектр игр, включая слоты, карточные игры, рулетку и другие. Все игры на сайте Пинко Казино разработаны с использованием последних технологий и имеют высокое качество.

Кроме того, Пинко Казино предлагает игрокам различные бонусы и акции, чтобы помочь им начать играть и получать наибольшую выгоду. Бонусы и акции могут включать в себя депозиты, бесплатные спины, бесплатные игры и другие.

Если вы ищете официальный сайт Пинко Казино, то вам нужно найти зеркало сайта, которое будет работать в вашей стране. Пинко Казино имеет несколько зеркал, чтобы обеспечить доступ к сайту игрокам из разных стран.

Вход на официальный сайт Пинко Казино доступен по ссылке [ссылка на официальный сайт]. Там вы можете зарегистрироваться, сделать депозит и начать играть.

Пинко Казино – это лучшее место для игроков, которые ищут безопасное и развлекательное игровое опыта. Мы рекомендуем вам начать играть в этом казино, чтобы испытать все преимущества и функции.

Важно! Пинко Казино – это официальный сайт, и мы рекомендуем вам играть только на официальном сайте, чтобы обеспечить безопасность и честность игр.

Официальный сайт Pinco Casino: доступ к играм и бонусам

Официальный сайт Pinco Casino – это доступный и удобный способ играть в онлайн-казино, получать бонусы и наслаждаться играми. В этом разделе мы рассмотрим, что можно найти на официальном сайте Pinco Casino и как получить доступ к играм и бонусам.

Доступ к играм

На официальном сайте Pinco Casino доступны различные игры, включая слоты, карточные игры, рулетку и другие. Игры доступны в режиме онлайн, что позволяет игрокам играть в любое время и из любого места. Игры на сайте Pinco Casino разработаны leading software providers, что обеспечивает высокое качество и безопасность игр.

Бонусы

Официальный сайт Pinco Casino предлагает различные бонусы, чтобы привлечь новых игроков и заинтересовать уже существующих. Бонусы могут быть в виде депозита, бесплатных спинов, cashback и других. Бонусы могут быть использованы для игры в любые игры на сайте, что позволяет игрокам насладиться играми и получать выигрыш.

Как получить доступ к играм и бонусам

Чтобы получить доступ к играм и бонусам на официальном сайте Pinco Casino, вам нужно выполнить следующие шаги:

Войти на официальный сайт Pinco Casino

Войти в свой аккаунт или зарегистрироваться, если вы не имеете аккаунта

Войти в игру, которую вы хотите играть

Используйте бонусы, которые вам доступны

Важные условия

Важно помнить, что доступ к играм и бонусам на официальном сайте Pinco Casino может быть ограничен для некоторых игроков. Игроки должны быть старше 18 лет и иметь доступ к интернету. Игроки также должны согласиться с условиями использования сайта и условиями игры.

Зеркало сайта

Если официальный сайт Pinco Casino не доступен, вы можете использовать зеркало сайта. Зеркало сайта – это зеркало официального сайта, которое позволяет игрокам получить доступ к играм и бонусам, даже если официальный сайт не доступен.

Вход на сайт

Вход на официальный сайт Pinco Casino доступен для всех игроков. Войти на сайт можно, используя логин и пароль, или зарегистрироваться, если вы не имеете аккаунта.

Контакты

Если у вас возникли вопросы или проблемы с доступом к играм и бонусам, вы можете обратиться к поддержке Pinco Casino. Поддержка доступна по электронной почте или через чат.

  • Доступ к играм
  • Бонусы
  • Как получить доступ к играм и бонусам
  • Важные условия
  • Зеркало сайта
  • Вход на сайт
  • Контакты

Возможности онлайн-казино Pinco: играть на деньги и бесплатно

В современном мире игроки имеют доступ к широкому спектру онлайн-казино, которые предлагают различные условия для игры. Один из таких онлайн-казино – Pinco Casino, который является официальным игроком на рынке онлайн-казино. В этом разделе мы рассмотрим возможности онлайн-казино Pinco, включая игру на деньги и бесплатно.

Игра на деньги

Преимущества игры на деньги:

Возможность выиграть реальные деньги

Шанс на большие выигрыши

Возможность использовать различные платежные системы

Игра бесплатно

Кроме того, Pinco Casino предлагает игрокам возможность играть бесплатно, используя виртуальные деньги. Это позволяет игрокам испытать игры, не рискуя своими деньгами. Виртуальные деньги могут быть использованы для игры в любые игры, включая слоты, карточные игры, рулетку и другие.

Преимущества игры бесплатно:

Возможность испытать игры без риска

Шанс на большие выигрыши

Возможность использовать виртуальные деньги

Важно: Игроки должны помнить, что играть на деньги или бесплатно – это их личное решение. Pinco Casino не несет ответственности за любые потери, которые могут возникнуть в результате игры.

В целом, Pinco Casino предлагает игрокам широкий спектр возможностей, включая игру на деньги и бесплатно. Игроки могут выбрать из различных игр, использовать различные платежные системы и получать реальные выигрыши.

Бонусы и акции Pinco Casino: как получить дополнительные преимущества

Pinco Casino – это онлайн-казино, которое предлагает своим игрокам множество способов получения дополнительных преимуществ. В этом разделе мы рассмотрим бонусы и акции, которые доступны игрокам Pinco Casino, и как получить их.

Бонусы для новых игроков

Для новых игроков Pinco Casino доступен бонус в 100% до 10 000 рублей, который может быть использован для игры в любые игры казино. Для получения бонуса необходимо выполнить регистрацию на официальном сайте Pinco Casino и сделать первое депозит.

Бонусы для постоянных игроков

Для постоянных игроков Pinco Casino доступны бонусы в виде дополнительных денег, которые могут быть использованы для игры в любые игры казино. Бонусы могут быть получены за участие в различных акциях и турнирах, а также за приглашение друзей в казино.

Акции и турниры

Pinco Casino регулярно проводит акции и турниры, которые могут принести игрокам дополнительные преимущества. Акции могут включать в себя бонусы, бесплатные спины и другие преимущества. Турниры могут быть проведены в различных играх казино, и игроки могут соревноваться друг с другом за призовые места.

Как получить дополнительные преимущества

Чтобы получить дополнительные преимущества в Pinco Casino, игроки могут выполнить следующие шаги:

Регистрация на официальном сайте Pinco Casino

Первый депозит

Участие в различных акциях и турнирах

Приглашение друзей в казино

Использование бонусов и акций для игры в любые игры казино

Важно!

Важно помнить, что бонусы pinko казино и акции Pinco Casino имеют свои условия и ограничения. Игроки должны прочитать и понимать условия бонусов и акций перед их использованием.

Заключение

Pinco Casino – это онлайн-казино, которое предлагает своим игрокам множество способов получения дополнительных преимуществ. Бонусы и акции Pinco Casino доступны для новых и постоянных игроков, и могут быть получены за участие в различных акциях и турнирах, а также за приглашение друзей в казино.

Как начать играть в Pinco Casino: регистрация и первый депозит

Для начала играть в Pinco Casino вам нужно зарегистрироваться на официальном сайте казино. Регистрация проста и займет не более 5 минут. Вам нужно будет ввести свои личные данные, такие как имя, фамилия, адрес электронной почты и пароль. Вам также нужно будет выбрать валюту, в которой вы будете играть.

После регистрации вы сможете перейти к процессу первого депозита. Для этого вам нужно будет выбрать метод оплаты, который вам удобен. Pinco Casino предлагает несколько способов оплаты, включая банковские карты, электронные кошельки и другие. Вам нужно будет ввести сумму депозита и выбрать способ оплаты.

После первого депозита вы сможете начать играть в Pinco Casino. Вам будет доступен доступ к игровым автоматам, рулетке, бинго и другим играм. Вы можете играть на деньги или на бесплатные кредиты, которые вы получите после регистрации.

В целом, регистрация и первый депозит в Pinco Casino – это простой и быстрый процесс, который позволяет вам начать играть в казино в считанные минуты.

Design and Develop by Ovatheme